package com.wlstock.funi.utils;

public class KLineUtils {
	
	/**
	 * 计算一组数据的均值
	 * @param datas 数据序列 
	 * @param avgLength 均值周期
	 * @return 均值序列
	 */
	public static float[] caculateAVG(float[] datas, int avgLength){
		if (datas.length < avgLength) {
			return null;
		}
		float[] values =new float[datas.length - avgLength + 1];
		for (int i = 0; i < datas.length-avgLength + 1; i++) {
			float sum = 0;
			for (int j = 0; j < i + avgLength - 1; j++) {
				sum += datas[j];
			}
			values[i] = sum/avgLength;
		}
		return values;
	}
	
	/**
	 * 计算周期为5的均值序列
	 * @param datas 原始数据序列
	 * @return 均值序列
	 */
	public static float[] caculateMD5(float[] datas){
		return caculateAVG(datas, 5);
	}
	
	/**
	 * 计算周期为10的均值序列
	 * @param datas 原始数据序列
	 * @return 均值序列
	 */
	public static float[] caculateMD10(float[] datas){
		return caculateAVG(datas, 10);
	}
	
	
	
}
